/*
 * @Author: 0x9DEFA478
 * @Date: 2025-10-05 19:41:00
 * @LastEditTime: 2025-10-05 22:03:40
 * @LastEditors: 0x9DEFA478
 * @Description: 
 * 
 */
#ifndef hSystemAPI_Windows_GUID_HPP_
#define hSystemAPI_Windows_GUID_HPP_
#if defined(_WIN32)
#include <windows.h>
#include <string>
#endif


namespace SystemAPI{

  namespace Windows{
#if defined(_WIN32)
    class GUID{
      public:
        GUID()noexcept=default;
        GUID(const ::GUID& guid)noexcept:guid(guid){}
        GUID(const std::string& GUIDString);
        ~GUID()noexcept=default;

        ::GUID* GetGUID()noexcept{return &guid;}
        const ::GUID* GetGUID()const noexcept{return &guid;}

        std::string String()const noexcept;

      private:
        ::GUID guid;
    };
#endif
  }

}


#endif //hSystemAPI_Windows_GUID_HPP_
